草庐IT

java - JUnit:同时运行测试

全部标签

ruby-on-rails - 安装 ruby​​ gems 后,运行新的 gem 返回 "Could not find"错误

全新的Ubuntu10.04安装:我在让我的gem安装过程正常运行时遇到了一些问题。每当我安装gem时,它都会通过一个漂亮、直接的过程,没有任何问题:$geminstallrailsSuccessfullyinstalledrails-3.2.21geminstalled然后验证版本,也许是一个简单的“rails-v”?不:$rails-v/home/pragone/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in`to_specs':Couldnotfindrailti

ruby Rspec。获取所有测试的列表

我在Rspec上做了一些测试,看起来像这样:describe"description"dobefore:eachdodo_before()endit"something_1"do...endit"something_2"do...endend我知道我可以使用获取当前测试的名称(“something_1”)example.description有什么方法可以获取before:each区域中所有描述的数组吗? 最佳答案 rspec-fd--color--dry-runfilename在rspec3.5.2中为我工作,列出所有测试而不运行

ruby - 在 Ruby 中测试标准输入

我目前正在尝试测试一种基本方法,该方法从用户那里接收一些输入(gets)并将其输出(puts)。经过一番研究后,我发现了一种测试标准输出流的好方法,如下所示:defcapture_standard_output(&block)original_stream=$stdout$stdout=mock=StringIO.newyieldmock.string.chompensure$stdout=original_streamend我正在测试的方法是下面的方法,输出和输入指的是我在开始时初始化的ivars,并指向等效的$stdout和$stdin:defask_for_markouput.p

ruby - 有没有一种优雅的方法来测试一个实例方法是否是另一个实例方法的别名?

在单元测试中,我需要测试是否正确定义了alias_method定义的别名方法。我可以简单地对用于其原件的别名使用相同的测试,但我想知道是否有更明确或更有效的解决方案。例如,有没有办法1)取消引用方法别名并返回其原始名称,2)获取并比较某种底层方法标识符或地址,或3)获取并比较方法定义?例如:classMyClassdeffoo#dosomethingendalias_method:bar,:fooenddescribeMyClassdoit"methodbarshouldbeanaliasformethodfoo"dom=MyClass.new#???identity(m.bar).s

ruby - 在 RSpec 测试中模拟 ActiveRecord 关系行为

我在测试时遇到过这个问题。假设我有两个模型,User和Post,其中userhas_many:posts。我正在尝试指定包含如下内容的代码块:user=User.find(123)post=user.posts.find(456)我知道如何模拟User.find和user.posts部分。user.posts模拟返回一个Post对象数组。当它到达.find(456)部分时,一切都崩溃了,并出现noblockgiven异常。所以我的问题是:作为user.postsmock的结果我要返回什么,以便.find(456)方法对其起作用?User.first.posts.class说它是Arra

arrays - Ruby - 测试每个数组元素,得到一个结果

我想要一个返回true/false的单行代码,它测试数组中的每个元素是否为整数。因此,如果数组中的任何元素不是Integer,它应该返回false,否则返回true。这是我的尝试:>>([2,1,4].map{|x|(x.is_a?Integer)}).reduce{|x,result|xandresult}=>true>>([2,"a",4].map{|x|(x.is_a?Integer)}).reduce{|x,result|xandresult}=>false还有其他进一步提炼它的想法吗? 最佳答案 array.all?{|x

ruby - 如何在 heroku 上运行 phantomjs?

我正在尝试在herokucedar堆栈上运行phantomjs。我正在为heroku使用phantomjsbuildpackhttps://github.com/stomita/heroku-buildpack-phantomjs.但是我按照说明进行操作,但仍然无法正常工作。当我运行命令herokurunbash并输入phantomjs--version它说phantomjs:commandnotfound我阅读了有关需要设置为“/usr/local/lib:/usr/lib:/lib:/app/vendor/phantomjs/lib”的LD_LIBRARY_PATH的内容,这就是我

ruby - 如何知道代码在什么环境下运行?

在haml的layout文件中,我想确定我们是否在我们的开发和构建环境中。我们正在使用中间人。我想做这样的事情:-ifenvironment=='development'/DevelopmentCode=javascript_include_tag"Dev.js"我尝试访问Ruby的环境变量,并在config.rb文件中定义自定义变量,但没有成功。 最佳答案 你几乎做对了——你需要检查一个符号而不是一个字符串:-ifenvironment==:development/DevelopmentCode=javascript_includ

ruby-on-rails - 将 header 附加到 Rspec Controller 测试

我正在尝试为我的Controller编写测试,该Controller接收来自外部服务的请求。到目前为止,这是我的测试:describeApplyControllerdocontext'whenvalid'dolet(:parameters)dofile=File.joinFile.dirname(__FILE__),'..','samples','Indeed.json'JSON.parse(File.readfile)endlet(:signature){'GC02UVj0d4bqa5peNFHdPQAZ2BI='}subject(:response){post:indeed,par

ruby - 使用ruby递归地运行目录中的文件

我现在正在编写脚本,它必须在目录及其子文件夹中运行每个ruby​​脚本。例如run-all.rb-scripts-folder1-script1.rb-script2.rb-folder2-script3.rb-script4.rb由于服务器是Windows服务器,我通常会使用批处理文件,但开发负责人坚持一切都必须用ruby​​完成,因为有些成员使用Mac,可能不理解Windows批处理文件。由于问题可能已经泄露,我对Ruby的了解非常基础。 最佳答案 取决于你所说的“运行”是什么意思。要在同一个ruby​​进程中执行每个脚本中的代